#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <getopt.h>

#include "dictionary.h"
#include "iniparser.h"

#ifndef uint
    #define uint uint32_t
#endif

#ifndef _CCD290_CONFIG_H_
#define _CCD290_CONFIG_H_

typedef struct{
//	RAW data type
	int raw_dtype_is_float;	// 0: uint32; 1: float

//	Image size:
	int N_ROW;
	int N_COL;
	int SAMP_NUM_PER_REG;
	int LEN;
	int HAS_TAG;

//	CDS:
	int cds_offset;
	int cds_weight;
	int idx_offset;

//	FITS
	int use_csst_format;	// default 0: use CCD290's convention
							// 1 : use CSST's data convention 
	int include_line_num;
	int use_mock_scan;

	int use_uint16_format;	// default choice

	int remove_preover_scan;
} ccd290_config;

int init_ccd290_config_from_file( ccd290_config *cfg, char *inifile );
int init_ccd290_config_to_defaults( ccd290_config* cfg ); 


#endif
